package com.school;

import java.util.Random;

public class Test4 {
    public static void main(String[] args) {
        //生成验证码
        //可以大小写，也有数字
        //长度为五
        //四个字母
        //数字只有一位可以出现在任意位置

        char[] arr=new char[5];
        //从数组中随机获取四次

        for (int t=0;t<10;t++) {//这个外循环是我生成了十次结果
        Random r=new Random();
        for (int i = 0; i < 4; i++) {
            int index=r.nextInt(52);
            if(index<26){
                arr[i]= (char) (index+'a');//a的ASCII码是97
            }else{
                arr[i]=(char)(index-26+'A');//减去前面26个字母的占位
            }

        }

        //生成一个0~9的随机数,再拼接在一起
        for (int i = 4; i < 5; i++) {
            int digitindex=r.nextInt(10);
            arr[i]= (char) (digitindex+48);//0的ASCII码是48
        }
        String result=new String(arr);

        //把生成的验证码放到数组中，把数字和其中任意位置随机交换
        char[] arr1=result.toCharArray();
        //随机生成一个索引
        Random index=new Random();//创建随机数对象
        for (int i = 0; i < arr1.length; i++) {
            int j=index.nextInt(arr1.length);
            char temp=arr1[i];
            arr1[i]=arr1[j];
            arr1[j]=temp;
        }

        String result1=new String(arr1);


            System.out.println(result1);
        }

    }
}
